package com.th.service.impl;

import com.th.mapper.AdminMapper;
import com.th.pojo.Admin;
import com.th.pojo.AdminExample;
import com.th.service.AdminService;
import com.th.utils.MD5Util;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author ThreePure
 * @date 2022/3/27 12:03
 * @description: TODO
 * @since 1.8
 */
@Service
public class AdminServiceImpl implements AdminService {

    /**在业务逻辑层中，一定会有数据访问层的对象*/
    @Autowired
    AdminMapper adminMapper;

    /**
     * 完成登录判断
     * @param name
     * @param pwd
     */
    @Override
    public Admin login(String name, String pwd) {
        //根据传入的用户或到数据库中查询相应用户对象
        //如果有条件，则一定要创建AdminExample对象，用来封装条件   select * from admin where a_name = 'admin'
        AdminExample example = new AdminExample();
        //添加用户名a_name条件
        example.createCriteria().andANameEqualTo(name);
        List<Admin> list = adminMapper.selectByExample(example);
        if (list.size() > 0){
            Admin admin = list.get(0);
            //如果查询到用户对象，再进行密码比对。注意密码是密文。（对传入的密码明文进行md5加密操作后在于数据库中密码密文进行对比）
            String miPwd = MD5Util.getMD5(pwd);
            if (miPwd.equals(admin.getaPass())){
                return admin;
            }
            return null;
        }


        return null;
    }
}
